package org.atlantis.grosbeak.lang.inject;

/**
 * 给一个字段注入值（优先采用Setter方法，如果没有Setter方法则直接注入）。
 * 
 * @author <a href="mailto:seenoevil.cn@gmail.com">SeeNoEvil</a>
 * 
 */
public interface Injecting {

	/**
	 * 注入值。
	 * 
	 * @param target
	 *            需要注入值的目标对象。
	 * @param value
	 *            需要注入的值。
	 * 
	 * @throws FailToInjectException
	 *             当注入值失败时出现。
	 */
	void inject(Object target, Object value) throws FailToInjectException;
}
